Entity Framework Core (EF Core) হলো একটি ওপেন সোর্স, ক্রস-প্ল্যাটফর্ম ORM (Object-Relational Mapping) ফ্রেমওয়ার্ক, যা .NET Core অ্যাপ্লিকেশনগুলোর জন্য ডেটাবেস অ্যাক্সেস সহজ করে তোলে। EF Core-এর মাধ্যমে ডেভেলপাররা সম্পর্কিত ডেটাবেসের সাথে কার্যকরীভাবে কাজ করতে পারেন, তবে তারা SQL কোড না লিখে C# কোড ব্যবহার করে ডেটাবেস অপারেশনগুলো সম্পাদন করতে পারেন। এটি LINQ (Language Integrated Query) ব্যবহার করে ডেটা রিট্রাইভ, ইনসার্ট, আপডেট এবং ডিলিট করার সুবিধা দেয়।
EF Core মূলত Entity Framework এর পরবর্তী ভার্সন, যা .NET Core প্ল্যাটফর্মের জন্য বিশেষভাবে উন্নয়ন করা হয়েছে এবং পূর্ববর্তী ভার্সন থেকে আরও বেশি দ্রুত, ছোট ও ক্রস-প্ল্যাটফর্ম সমর্থনকারী।
Product
টেবিল EF Core এর মাধ্যমে Product
ক্লাসের সাথে সম্পর্কিত হবে।LINQ (Language Integrated Query)
EF Core LINQ সাপোর্ট করে, যার মাধ্যমে C# কোডের মধ্যেই ডেটাবেস কোয়েরি করা সম্ভব। এটি ডেভেলপারদের SQL কোড না লিখে সিম্পল C# কোডে ডেটাবেস অপারেশন করতে সাহায্য করে। উদাহরণস্বরূপ:
var products = context.Products
.Where(p => p.Price > 100)
.ToList();
EF Core ডেটাবেসের সাথে যোগাযোগ করার জন্য সাধারণত DbContext ক্লাস ব্যবহার করা হয়, যা ডেটাবেসের সাথে ইনটের্যাক্ট করতে ডেভেলপারকে সাহায্য করে। DbContext ডেটাবেসের সাথে সম্পর্কিত মডেল ক্লাসগুলো (Entities) এবং ডেটাবেস টেবিলের মধ্যে ম্যাপিং করে।
public class ApplicationDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
public DbSet<Customer> Customers { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("ConnectionStringHere");
}
}
এখানে, Product
এবং Customer
দুটি মডেল ক্লাস, যেগুলো ডেটাবেসের টেবিলের সাথে ম্যাপ করা হয়েছে। OnConfiguring
মেথডে ডেটাবেসের সংযোগ স্ট্রিং (Connection String) কনফিগার করা হয়।
EF Core ব্যবহারের মাধ্যমে ডেটাবেসে ডেটা Create, Read, Update, এবং Delete (CRUD) অপারেশন করা যায়।
var product = new Product { Name = "Laptop", Price = 1000 };
context.Products.Add(product);
context.SaveChanges();
এখানে, Product
অবজেক্ট তৈরি করা হয়েছে এবং Add
মেথডের মাধ্যমে ডেটাবেসে সন্নিবেশিত হয়েছে।
var products = context.Products.Where(p => p.Price > 500).ToList();
এটি Price
500 এর বেশি এমন সকল Product
অবজেক্ট রিটার্ন করবে।
var product = context.Products.First(p => p.Id == 1);
product.Price = 1200;
context.SaveChanges();
এটি Id = 1
এর Product
অবজেক্টের মূল্য পরিবর্তন করবে এবং SaveChanges
মেথডের মাধ্যমে সেই পরিবর্তন ডেটাবেসে সেভ করবে।
var product = context.Products.First(p => p.Id == 1);
context.Products.Remove(product);
context.SaveChanges();
এটি Id = 1
এর Product
অবজেক্ট ডেটাবেস থেকে মুছে ফেলবে।
Entity Framework Core একটি শক্তিশালী ORM ফ্রেমওয়ার্ক যা ডেভেলপারদের SQL কোড লিখা ছাড়াই ডেটাবেস অপারেশন সম্পাদন করতে সহায়তা করে। এটি ডেভেলপমেন্টে গতি আনে, কোডের সঠিকতা বাড়ায় এবং ডেটাবেস স্কিমা ও ডেটা ম্যানেজমেন্ট সহজ করে। EF Core বিশেষভাবে .NET Core অ্যাপ্লিকেশনের জন্য ডিজাইন করা, যা ক্রস-প্ল্যাটফর্ম সাপোর্ট করে এবং মাইগ্রেশন ও ডেটাবেস অপটিমাইজেশনের সুবিধা দেয়।
common.read_more